home *** CD-ROM | disk | FTP | other *** search
/ CD Actual 1 / PC Actual CD 01.iso / share / dos / progr / helppc.arj / VGAPORT.TXT < prev    next >
Encoding:
Text File  |  1993-04-29  |  22.6 KB  |  786 lines

  1. @Short VGA Port Description
  2. :Port 3C2h:Port 3CCh
  3. ^Port 3C2h for sync polarity
  4.  
  5. ^Port-Index:  -
  6. ^Port: Write/03c2h Read/03cch
  7. ^usage:
  8.              d7   Vertical sync polarity
  9.              d6   Horizontal sunc polarity
  10.              d5   Odd /even page
  11.              d4   Disable video
  12.              d3   Clock select 1
  13.              d2   Clock select 0
  14.              d1   Enable/Disable display RAM
  15.              d0   I/O address select
  16.  
  17. ^Description:
  18.              Sync polarity: Bits are set as below for VGA displays
  19.              that use sync polarity to determine screen resolution.
  20.              Many newer multiple frequency displays are insensitive
  21.              to sync polarity
  22.  
  23.              d7 d6      Resolution
  24.              0  0       Invalid
  25.              0  1       400 lines
  26.              1  0       350 lines
  27.              1  1       480 lines
  28.  
  29.              I/o address select: When set to zero, selects the
  30.              monochrome I/O address space (3bx). When set to one,
  31.              it selects the color I/O address space (3dx)
  32.  
  33. ^Port-Index: -
  34. ^Port: 03c2h ; read only
  35. ^usage:
  36.             d7    Vertical Retrace Interrupt pendling
  37.             d6    Feature connector bit 1
  38.             d5    Feature connector bit 0
  39.             d4    Switch sense
  40.             d0-d3 Unused
  41.  
  42. ^Description:
  43.             d7 uses IRQ2
  44. :Port 3BAh:Port 3DAh
  45. ^Port 3BAh for retraces
  46.  
  47. ^Port-Index: -
  48. ^Port: 03bah,03dah ; read only
  49. ^usage:
  50.             d3  Vertical retrace
  51.             d0  Horizontal retrace
  52.  
  53. :Port 3C3h:Port 46E8h
  54. ^Port 3C3h for enabling/disbaling VGA
  55.  
  56. ^Port-Index: -
  57. ^Port: 03c3h,46e8h
  58. ^usage:
  59.             d7-d1  Reserved
  60.             d0     VGA enable/disable (03c3h only)
  61.  
  62. ^Description:
  63.              Disables access to display memmory and the other
  64.              VGA's ports
  65.  
  66. :Port 3D4h Index 00:Port 3B4h Index 00
  67. ^Port 3D4 Index 00 for horizontal scan lines
  68.  
  69. ^Port-Index: 00h
  70. ^Port: 03d4h, 03b4h
  71. ^usage:
  72.         Horizontal total
  73. ^Description:
  74.              Total number of characters in horizontal scan minus
  75.              five ( including blanked and border characters)
  76.  
  77. :Port 3D4h Index 01:Port 3B4h Index 01
  78. ^Port 3D4 Index 01 for horizontal display lines
  79.  
  80. ^Port-Index: 01h
  81. ^Port: 03d4h, 03b4h
  82. ^usage:
  83.              Horizontal display enable
  84. ^Description:
  85.              Total number of characters displayed in horizontal
  86.              scan minus one.
  87.  
  88. :Port 3D4h Index 02:Port 3B4h Index 02
  89. ^Start horizontal blanking
  90.  
  91. ^Port-Index: 02h
  92. ^Port: 03d4h, 03b4h
  93. ^usage:
  94.              Start horizontal blanking
  95. ^Description:
  96.              Character at which blanking starts
  97.  
  98. :Port 3D4h Index 03:Port 3B4h Index 03
  99. ^End horizontal blanking
  100.  
  101. ^Port-Index: 03h
  102. ^Port: 03d4h, 03b4h
  103. ^usage:
  104.             End horizontal blanking
  105.             d7    Test
  106.             d6    Skew control
  107.             d5    Skew control
  108.             d0-d4 End blanking
  109. ^Description:
  110.              End blanking: is five LSB bits of six-bit value,
  111.              which define the character at which blanking stops.
  112.              The MSB bit of this value is in register index 5.
  113.  
  114. :Port 3D4h Index 04:Port 3B4h Index 04
  115. ^Start horizontal retrace
  116.  
  117. ^Port-Index: 04h
  118. ^Port: 03d4h, 03b4h
  119. ^usage:
  120.              Start horizontal retrace
  121. ^Description:
  122.              Character at which horizontal retrace starts
  123.  
  124. :Port 3D4h Index 05:Port 3B4h Index 05
  125. ^End horizontal retrace
  126.  
  127. ^Port-Index: 05h
  128. ^Port: 03d4h, 03b4h
  129. ^usage:
  130.             End horizontal retrace
  131.             d7    End horizontal blanking bit 5
  132.             d6    Horizontal retrace delay
  133.             d5    Horizontal retrace delay
  134.             d0-d4 End horizontal retrace
  135. ^Description:
  136.              End horizontal retrace: defines the character at
  137.              which horizontal retrace ends
  138.  
  139. :Port 3D4h Index 06:Port 3B4h Index 06
  140. ^Vertical total scan lines
  141.  
  142. ^Port-Index: 06h
  143. ^Port: 03d4h, 03b4h
  144. ^usage:
  145.              Vertical total
  146. ^Description:
  147.              Total number of horizontal scan lines minus two
  148.              (including blanked and border characters). MSB bits
  149.              of this value are in register index 7
  150.  
  151. :Port 3D4h Index 07:Port 3B4h Index 07
  152. ^Overflow register
  153.  
  154. ^Port-Index: 07h
  155. ^Port: 03d4h, 03b4h
  156. ^usage:
  157.             Overflow register
  158.             d7  Vertical retrace start (bit 9)
  159.             d6  Vertical display enable end (bit 9)
  160.             d5  Vertical total (bit 9)
  161.             d4  Line compare (bit 8)
  162.             d3  Start vertical blank (bit 8)
  163.             d2  Vertical retrace start (bit 8)
  164.             d1  Vertical display enable end (bit 8)
  165.             d0  Vertical total (bit 8)
  166.  
  167. :Port 3D4h Index 08:Port 3B4h Index 08
  168. ^Preset row scan
  169.  
  170. ^Port-Index: 08h
  171. ^Port: 03d4h, 03b4h
  172. ^usage:
  173.             Preset row scan
  174.             d7    Unused
  175.             d6    Byte panning control
  176.             d5    Byte panning control
  177.             d0-d4 Preset row scan
  178. ^Description:
  179.              Byte panning control: is used to control byte
  180.              panning. This register together with attribute
  181.              controller register 13h allows for up to 31 pixels of
  182.              panning in double word modes
  183.              Preset row scan: Which character scan line is the
  184.              first to be displayed
  185.  
  186. :Port 3D4h Index 09:Port 3B4h Index 09
  187. ^Maximum scan lines
  188.  
  189. ^Port-Index: 09h
  190. ^Port: 03d4h, 03b4h
  191. ^usage:
  192.             Maximum scan line/Character height
  193.             d7    double scan
  194.             d6    bit d9 of line compare register
  195.             d5    bit d9 of start vertical blank register
  196.             d0-d4 Maximum scan line
  197. ^Description:
  198.             d0-d5=Character height-1,  only in textmodes
  199.  
  200. :Port 3D4h Index 0Ah:Port 3B4h Index 0Ah
  201. ^Cursor start
  202.  
  203. ^Port-Index: 0ah
  204. ^Port: 03d4h, 03b4h
  205. ^usage:
  206.             Cursor start
  207.             d7,d6 Reserved (0)
  208.             d5    Cursor off
  209.             d4-d0 Cursor start
  210.  
  211. :Port 3D4h Index 0Bh:Port 3B4h Index 0Bh
  212. ^Cursor end
  213.  
  214. ^Port-Index: 0bh
  215. ^Port: 03d4h, 03b4h
  216. ^usage:
  217.             Cursor end
  218.             d7    reserved
  219.             d6,d5 Cursor skew
  220.             d4-d0 Cursor end
  221.  
  222. :Port 3D4h Index 0C/0Dh:Port 3B4h Index 0C/0Dh
  223. ^Start adresses
  224.  
  225. ^Port-Index: 0ch
  226. ^Port: 03d4h, 03b4h
  227. ^usage:
  228.             Start address high
  229.  
  230. ^Port-Index: 0dh
  231. ^Port: 03d4h, 03b4h
  232. ^usage:
  233.             Start address low
  234. ^Description:
  235.             Determine the offset in display memory to be
  236.             displayed on the upper-left corner on the screen
  237.  
  238. :Port 3D4h Index 0E/0Fh:Port 3B4h Index 0E/0Fh
  239. ^Cursor location
  240.  
  241. ^Port-Index: 0eh
  242. ^Port: 03d4h, 03b4h
  243. ^usage:
  244.             Cursor location (high byte)
  245.  
  246. ^Port-Index: 0fh
  247. ^Port: 03d4h, 03b4h
  248. ^usage:
  249.             Cursor location (low byte)
  250. ^Description:
  251.             Where the cursor is displayed on screen
  252.  
  253. :Port 3D4h Index 10/11h:Port 3B4h Index 10/11h
  254. ^Vertical retrace start
  255.  
  256. ^Port-Index: 10h
  257. ^Port: 03d4h, 03b4h
  258. ^usage:
  259.             Vertical retrace start
  260. ^Description:
  261.             8 bits out of 10
  262.  
  263. ^Port-Index: 11h
  264. ^Port: 03d4h, 03b4h
  265. ^usage:
  266.             Vertical retrace end
  267.             d7    Write protect CRTC register 0 to 7
  268.             d6    refresh cycle select
  269.             d5    enable vertical interrupt (when 0)
  270.             d4    Clear vertical interrupt (when 0)
  271.             d0-d3 Vertical retrace end
  272.  
  273. :Port 3D4h Index 12h:Port 3B4h Index 12h
  274. ^Vertical retrace end
  275.  
  276. ^Port-Index: 12h
  277. ^Port: 03d4h, 03b4h
  278. ^usage:
  279.              Vertical display enable end
  280. ^Description:
  281.              eight LSB bits out of ten-bit value which define
  282.              scan line minus one at which the display ends.
  283.              The other two are in CRTC register index 7
  284.  
  285. :Port 3D4h Index 13h:Port 3B4h Index 13h
  286. ^Logical screen width
  287.  
  288. ^Port-Index: 13h
  289. ^Port: 03d4h, 03b4h
  290. ^usage:
  291.              Offset / Logical screen width
  292. ^Description:
  293.              Logical screen width between successive scan lines
  294.  
  295. :Port 3D4h Index 14h:Port 3B4h Index 14h
  296. ^Underline location register
  297.  
  298. ^Port-Index: 14h
  299. ^Port: 03d4h, 03b4h
  300. ^usage:
  301.             Underline location register
  302.             d7    Reserved
  303.             d6    Double word mode
  304.             d5    count by 4
  305.             d0-d4 Underline location
  306. ^Description:
  307.             Underline location: Monochrome textmode only
  308.  
  309. :Port 3D4h Index 15h:Port 3B4h Index 15h
  310. ^Start vertical blanking
  311.  
  312. ^Port-Index: 15h
  313. ^Port: 03d4h, 03b4h
  314. ^usage:
  315.              Start vertical blanking
  316. ^Description:
  317.              eight LSB bits of ten-bit value minus one which
  318.              define at which scan line the vertical blanking
  319.              starts. The other two bits are in CRTC registers
  320.              index 7 and 9
  321.  
  322. :Port 3D4h Index 16h:Port 3B4h Index 16h
  323. ^End vertical blanking
  324.  
  325. ^Port-Index: 16h
  326. ^Port: 03d4h, 03b4h
  327. ^usage:
  328.              End vertical blanking
  329. ^Description:
  330.              eight LSB bits of a value which determine the scan
  331.              line after which vertical blanking ends.
  332.  
  333. :Port 3D4h Index 17h:Port 3B4h Index 17h
  334. ^Mode control register
  335.  
  336. ^Port-Index: 17h
  337. ^Port: 03d4h, 03b4h
  338. ^usage:
  339.             Mode control register
  340.             d7  Enable vertical and hoizontal retrace
  341.             d6  Byte mode (1), word mode (0)
  342.             d5  Address wrap
  343.             d4  Reserved
  344.             d3  count by 2
  345.             d2  multiple vertical by 2 (use half in
  346.                 CRTC (8,10,12,14,18)
  347.             d1  Select row scan counter (not used)
  348.             d0  compatibilty mode support (enable interleave)
  349.  
  350. :Port 3D4h Index 18h:Port 3B4h Index 18h
  351. ^Line compare register
  352.  
  353. ^Port-Index: 18h
  354. ^Port: 03d4h, 03b4h
  355. ^usage:
  356.              Line compare register
  357. ^Description:
  358.              Split screen,  8 bit value out of a ten-bit value
  359.  
  360. :Port 3C4h Index 00h
  361. ^Reset register
  362.  
  363. ^Port-Index: 00h
  364. ^Port: 03c4h
  365. ^usage:
  366.             Reset register
  367.             d7-d2 Reserved
  368.             d1    Synchronous reset
  369.             d0    Asynchronous reset
  370. ^Description:
  371.             Synchr. when set to zero, will halt and reset
  372.             the sequencer at the end of its current cycle
  373.             Asyncht. when set to zero, will immediatly halt
  374.             and reset the sequencer. Data can be loss.
  375.  
  376. :Port 3C4h Index 01h
  377. ^Clock mode register
  378.  
  379. ^Port-Index: 01h
  380. ^Port: 03c4h
  381. ^usage:
  382.             Clock mode register
  383.             d7,d6 Reserved
  384.             d5    display off
  385.             d4    Allow 32-bit Fetch (not used in standard modes)
  386.             d3    Divide dot clock by 2 (used in some 320*200 modes)
  387.             d2    Allow 16-bit fetch (used in mon graphics modes)
  388.             d1    Reserved
  389.             d0    Enable (0) 9 dot characters (mono text and 400-line)
  390. ^Description:
  391.             Display off: Will blank screen and give the cpu
  392.             uninterrupted access the display memory.
  393.  
  394. :Port 3C4h Index 02h
  395. ^Color plane write enable register
  396.  
  397. ^Port-Index: 02h
  398. ^Port: 03c4h
  399. ^usage:
  400.             Color plane write enable register
  401.             d7,d6 Reserved
  402.             d3    Plane 3 Write enable
  403.             d2    Plane 2 Write enable
  404.             d1    Plane 1 Write enable
  405.             d0    Plane 0 Write enable
  406. ^Description:
  407.  
  408. :Port 3C4h Index 03h
  409. ^Character generator select register
  410.  
  411. ^Port-Index: 03h
  412. ^Port: 03c4h
  413. ^usage:
  414.             Character generator select register
  415.             d7,d6 Reserved
  416.             d5    Character generator table select A (MSB)
  417.             d4    Character generator table select B (MSB)
  418.             d3,d2 Character generator table select A
  419.             d1,d0 Character generator table select B
  420. ^Description:
  421.             This register is only of interest if your software
  422.             will be using multiple character sets. Either one
  423.             or two character sets can be active. Table A selects
  424.             the charcater with attribute d3 set to zero and
  425.             Table B is the one with d3 set to one.
  426.  
  427. :Port 3C4h Index 04h
  428. ^Memory mode register
  429.  
  430. ^Port-Index: 04h
  431. ^Port: 03c4h
  432. ^usage:
  433.             Memory mode register
  434.             d4-d7 Reserved
  435.             d3    Chain 4 (address bits 0&1 to select plan, mode 13h)
  436.             d2    Odd/even (address bit 0 to select plane 0&2 or   
  437.                   1&3 text modes)
  438.             d1    Extended memory (disable 64k modes)
  439.             d0    Reserved
  440. Description:
  441.  
  442. :Port 3CEh Index 00h
  443. ^Set / Reset Register
  444.  
  445. ^Port-Index: 00h
  446. ^Port: 03ceh
  447. ^usage:
  448.             Set / Reset register
  449.             d7-d4 Reserved (0)
  450.             d3    Fill data for plane 3
  451.             d2    Fill data for plane 2
  452.             d1    Fill data for plane 1
  453.             d0    Fill data for plane 0
  454.  
  455. :Port 3CEh Index 01h
  456. ^Set / Reset Enable Register
  457.  
  458. ^Port-Index: 01h
  459. ^Port: 03ceh
  460. ^usage:
  461.             Set / Reset enable register
  462.             d7-d4 Reserved (0)
  463.             d3    enable set/reset for plane 3 (1 = enable)
  464.             d2    enable set/reset for plane 2 (1 = enable)
  465.             d1    enable set/reset for plane 1 (1 = enable)
  466.             d0    enable set/reset for plane 0 (1 = enable)
  467. ^Description:
  468.              Set/Reset enable defines which memory planes will
  469.              receive fill data from set/reset register. Any plane
  470.              that is disable for set/reset will be written with
  471.              normal processor output data
  472.  
  473. :Port 3CEh Index 02h
  474. ^Color Compare Register
  475.  
  476. ^Port-Index: 02h
  477. ^Port: 03ceh
  478. ^usage:
  479.             Color compare register
  480.             d7-d4 Reserved
  481.             d3    Color compare value for plane 3
  482.             d2    Color compare value for plane 2
  483.             d1    Color compare value for plane 1
  484.             d0    Color compare value for plane 0
  485. ^Description:
  486.             one indicate that color is the same
  487.  
  488. :Port 3CEh Index 03h
  489. ^Data Rotate / Function select register
  490.  
  491. ^Port-Index: 03h
  492. ^Port: 03ceh
  493. ^usage:
  494.             Data rotate / Function select register
  495.             d7-d5 Resrved (0)
  496.             d4,d3 Function select
  497.             d2-d0 Rotate count
  498.  
  499.             d4 d3  Function
  500.             0  0   Write data unmodified
  501.             0  1   Write data ANDed with processor latches
  502.             1  0   Write data ORed with processor latches
  503.             1  1   Write data XORed with processor latches
  504. ^Description:
  505.             Rotation is made before writing data
  506.  
  507. :Port 3CEh Index 04h
  508. ^Read plane select register
  509.  
  510. ^Port-Index: 04h
  511. ^Port: 03ceh
  512. ^usage:
  513.             Read plane select register
  514.             d7-d2 Reserved (0)
  515.             d1,d0 Defines color plane for reading (0-3)
  516. ^Description:
  517.             Doesnt matter in color compare mode
  518.  
  519. :Port 3CEh Index 05h
  520. ^Mode register
  521.  
  522. ^Port-Index: 05h
  523. ^Port: 03ceh
  524. ^usage:
  525.             Mode register
  526.             d7    Reserved (0)
  527.             d6    256-colour mode
  528.             d5    Shift register mode
  529.             d4    Odd / Even mode
  530.             d3    Color compare mode enable (1 = enable)
  531.             d2    Reserved (0)
  532.             d1,d0 Write mode
  533.  
  534.             d1 d0 Write mode
  535.             0  0  Direct write (data rotate, set/reset may apply)
  536.             0  1  Use processor latches as write data
  537.             1  0  Color plane n (0-3) is filled with the value of
  538.                   bit n in the write data
  539.             1  1  Use (rotated) write data ANDed with Bit mask as
  540.                   bit mask. Use set/reset as if set/reset was
  541.                   enable for all planes
  542. :Port 3CEh Index 06h
  543. ^Miscellaneous register
  544.  
  545. ^Port-Index: 06h
  546. ^Port: 03ceh
  547. ^usage:
  548.             Miscellaneous register
  549.             d7-d4 Reserved
  550.             d3-d2 Memory map
  551.                   00 = A000h for 128k
  552.                   01 = A000h for 64k
  553.                   10 = B000h for 32k
  554.                   11 = B800h for 32k
  555.             d1    Odd/even enable (used in text modes)
  556.             d0    Graphics mode enable
  557. ^Description:
  558.              Memory map defines the location and size of the
  559.              host window
  560.  
  561. :Port 3CEh Index 07h
  562. ^Color don't care register
  563.  
  564. ^Port-Index: 07h
  565. ^Port: 03ceh
  566. ^usage:
  567.             Color don't care register
  568.             d7-d4 Reserved (0)
  569.             d3    Plane 3 don't care
  570.             d2    Plane 2 don't care
  571.             d1    Plane 1 don't care
  572.             d0    Plane 0 don't care
  573. ^Description:
  574.              Color don't care is used in conjunction with color
  575.              compare mode. This register masks particular planes
  576.              from being tested during color compare cycles.
  577.  
  578. :Port 3CEh Index 08h
  579. ^Bitmask register
  580.  
  581. ^Port-Index: 08h
  582. ^Port: 03ceh
  583. ^usage:
  584.              Bitmask register
  585. ^Description:
  586.              The bitmask register is used to mask certain bit
  587.              positons from being modified.
  588.  
  589. :Port 3C0h
  590. ^Palette register
  591.  
  592. ^Port-Index: -
  593. ^Port: 03c0h both index and data
  594. ^usage:
  595.             d7,d6 Reserved
  596.             d5    Palette address source
  597.                   0 = palette can be modified, screen is blanked
  598.                   1 = screen is enable, palette cannot be modified
  599.             d4-d0 Palette register address
  600. ^Description:
  601.              Palette register address selects which register of
  602.              the attributes controller will be addres,sed by the
  603.              next I/O write cycle
  604.  
  605. :Port 3C0h Index 00h-0fh
  606. ^Color palette register
  607.  
  608. ^Port-Index: 00h-0fh
  609. ^Port: 03c0h
  610. ^usage:
  611.             Color palette register
  612.             d6,d7 Reserved
  613.             d5-d0 Color value
  614. ^Description:
  615.             not used in 256 color modes
  616.  
  617. :Port 3C0h Index 10h
  618. ^Mode Control register
  619.  
  620. ^Port-Index: 10h
  621. ^Port: 03c0h
  622. ^usage:
  623.             Mode control register
  624.             d7  p4,p5 source select
  625.             d6  pixel width
  626.             d5  Horizontal panning compatibility
  627.             d4  Reserved
  628.             d3  Background intensify / enable blinking
  629.             d2  Line graphics enable (text modes only)
  630.             d1  display type
  631.             d0  graphics / text mode
  632. ^Description:
  633.              p4,p5 source select: selects the source for video
  634.              outputs p4 and p5 to the DACs. If set to zero, p4
  635.              and p5 are driven from the palette registers (normal
  636.              operation). If set to one, p4 and p5 video outputs
  637.              come from bits 0 and 1 of the color select register.
  638.              pixel width: is set to one in mode 13h (256-color mode)
  639.              horizontal panning compatibility: enhances the
  640.              operation of the line compare register of the CRT
  641.              controller, which allows one section of the screen
  642.              to be scrolled while another section remains stationary.
  643.              When this bit is set to one, the stationary
  644.              section of the screen will also be immune to horizontal
  645.              panning.
  646.  
  647. :Port 3C0h Index 11h
  648. ^Screen border color
  649.  
  650. ^Port-Index: 11h
  651. ^Port: 03c0h
  652. ^usage:
  653.              Screen border color
  654. ^Description:
  655.              In text modes, the screen border color register
  656.              selects the color of the border that sorrounds the
  657.              text display area on the screen. This is also referred
  658.              to by IBM as overscan. Unfortunately, this feature
  659.              does not work properly on EGA displays in 350-line
  660.              modes.
  661.  
  662. :Port 3C0h Index 12h
  663. ^Color plane enable register
  664.  
  665. ^Port-Index: 12h
  666. ^Port: 03c0h
  667. ^usage:
  668.             Color plane enable register
  669.             d7,d6 Reserved
  670.             d5,d4 Video status mux
  671.             d3    Enable color plane 3
  672.             d2    Enable color plane 2
  673.             d1    Enable color plane 1
  674.             d0    Enable color plane 0
  675. ^Description:
  676.              The video status mux bits can be used in conjunction
  677.              with the diagnostic bits of input status register 1
  678.              to read palette registers. For the EGA, this is the
  679.              only means available for reading the palette registers.
  680.               Enable color planes can be used to enable or disable
  681.              color planes at the input to the color lockup table.
  682.              A zero in any of these bit positions will mask the
  683.              data from that color plane. The effect on the display
  684.              will be the same as if that color plane were cleared
  685.              to all zeros.
  686.  
  687. :Port 3C0h Index 13h
  688. ^Horizontal panning register
  689.  
  690. ^Port-Index: 13h
  691. ^Port: 03c0h
  692. ^usage:
  693.             Horizontal panning register
  694.             d7-d4 reserved
  695.             d3-d0 Horizontal pan
  696. ^Description:
  697.              Horizontal pan allows the display to be shifted
  698.              horizontally one pixel at a time.
  699.  
  700.              d3-d0      Number of pixels shifted to the left
  701.                         0+,1+,2+     13h     Other modes
  702.                         3+,7,7+
  703.              0          1            0       0
  704.              1          2            1       -
  705.              2          3            2       1
  706.              3          4            3       -
  707.              4          5            4       2
  708.              5          6            5       -
  709.              6          7            6       3
  710.              7          8            7       -
  711.              8          9            -       -
  712.  
  713. :Port 3C0h Index 14h
  714. ^Color select register
  715.  
  716. ^Port-Index: 14h
  717. ^Port: 03c0h
  718. ^usage:
  719.             Color select register
  720.             d7-d4 Reserved
  721.             d3    color 7
  722.             d2    color 6
  723.             d1    color 5
  724.             d0    color 4
  725. ^Description:
  726.              Color 7 and color 6: are normally used as the high
  727.              order bits of the eight-bit video color data from the
  728.              attribute controller to the DACs. The only exceptions
  729.              are 256-color modes
  730.               Color 5 and color 4: can be used in place of the p5
  731.              and p6 outputs from the palette registers (see mode
  732.              control register - index 10h). In 16-color modes, the
  733.              color select register can be used to rapidly cycle
  734.              between sets of colors in the video DAC.
  735.  
  736. :Port 3C6h
  737. ^Pixel mask register
  738.  
  739. ^Port-Index: -
  740. ^Port: 03c6h
  741. ^usage:
  742.              Pixel mask register
  743.  
  744. :Port 3C7h (Read)
  745. ^DAC state register
  746.  
  747. ^Port-Index: -
  748. ^Port: 03c7h
  749. ^usage:
  750.              DAC state register (read-only)
  751. ^Description:
  752.              if d0 and d1 is set to zero it indicates that
  753.              the lookup table is in a write mode
  754.  
  755. :Port 3C7h (Write)
  756. ^Lookup table read index register
  757.  
  758. ^Port-Index: -
  759. ^Port: 03c7h
  760. ^usage:
  761.              Lookup table read index register (Write only)
  762. ^Description:
  763.              Used when you want to read the palette (set color
  764.              number)
  765.  
  766. :Port 3C8h
  767. ^Lookup table write index register
  768.  
  769. ^Port-Index: -
  770. ^Port: 03c8h
  771. ^usage:
  772.              Lookup table write index register
  773. ^Description:
  774.              Used when you want to change palette (set color
  775.              number)
  776.  
  777. :Port 3C9h
  778. ^Lookup table data register
  779.  
  780. ^Port-Index: -
  781. ^Port: 03c9h
  782. ^usage:
  783.              Lookup table data register
  784. ^Description:
  785.              Read color value (Red-Green-Blue) or write same data.
  786.